<?php

include_once '../dao/BDConexao.php';
include_once("../model/Usuario.php");

class BDUsuario {

    private $conexao;

    public function __construct() {
        $this->conexao = Conexao::singleton();
    }

    public function alterar(Usuario $conta) {
        $this->mysql->query("UPDATE TBL_CONTA_LOGIN SET_SENHA = " .
                $conta->getCodigo() . " WHERE CD_CONTA = " . $conta->getSenha());
    }

    public function pesquisarUsuario($usuario) {
        $result = $this->conexao->getConexao()->query("SELECT * FROM TBL_CONTA 
            WHERE DS_LOGIN = '" . $usuario . "'");
        $row = mysqli_fetch_array($result);
        $usuario = new Usuario();
        $usuario->setCodigo($row['CD_CONTA']);
        $usuario->setUsuario($row['DS_LOGIN']);
        $usuario->setSenha($row['DS_SENHA']);

        return $usuario;
    }

    public function pesquisarPerfil($id) {
        $result = $this->conexao->getConexao()->query("SELECT * FROM TBL_CONTA" .
                " WHERE CD_CONTA = " . $id);
        $conta = new Conta();
        $row = mysqli_fetch_array($result);
        $conta->setCodigo($row['CD_CONTA']);
        $conta->setNome($row['DS_NOME']);
        $conta->setNascimento($this->formarData($row['DT_NASCIMENTO']));
        $conta->setInteresse($row['DS_INTERESSE']);
        return $conta;
    }

    public function pesquisarContas($nomeUsuario) {
        $result = $this->conexao->getConexao()->query("SELECT * FROM TBL_CONTA" .
                " WHERE DS_NOME LIKE('%" . $nomeUsuario . "%')");
        $contas;
        while ($row = mysqli_fetch_array($result)) {
            $codigoConta = $row['CD_CONTA'];
            $contas[$codigoConta] = new Conta();
            $contas[$codigoConta]->setCodigo($row['CD_CONTA']);
            $contas[$codigoConta]->setNome($row['DS_NOME']);
        }

        return $contas;
    }

    public function salvar($conta) {
        $dataFormatada = implode('-', array_reverse(explode('/',
        $conta->getNascimento())));

        $script = "INSERT INTO TBL_CONTA
            (DS_NOME, DS_INTERESSE, DT_NASCIMENTO, DS_LOGIN, DS_SENHA) 
            VALUES 
            ('" . $conta->getNome() . "',
                '" . $conta->getInteresse() . "',
                    '" . $dataFormatada . "',
                        '" . $conta->getUsuario() . "',
                            '" . md5($conta->getSenha()) . "');";

        if (!mysqli_query($this->conexao->getConexao(), $script)) {
            mysqli_close($this->conexao->getConexao());
            return false;
        } else {
            mysqli_close($this->conexao->getConexao());
            return true;
        }
    }
    
    public function formarData($data){
        $dataParcial = explode("-", $data);
        return $dataParcial[2]."-".$dataParcial[1]."-".$dataParcial[0];
    }

}

